package pos.utils;

import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;

/**
 * Define operaciones para cadenas.
 */
public class Cadenas {

	/**
	 * Divide la cadena str en subcadenas que son almacenadas en una lista. El
	 * par�metro delim es una cadena cuyos caracteres ser�n utilizados como
	 * separadores.
	 * 
	 * @param str La cadena que contiene los elementos.
	 * @param delim El separador de elementos.
	 * @return La lista de elementos.
	 */
	public static List<String> separaElementos(String str, String delim) {
		List<String> v = new ArrayList<String>();
		StringTokenizer st = new StringTokenizer(str, delim);
		
		while(st.hasMoreTokens()) {
			v.add(st.nextToken());
		}

		return v;
	}

	/**
	 * Divide la cadena str en subcadenas que son almacenadas en una lista. El
	 * par�metro delim es una cadena cuyos caracteres ser�n utilizados como
	 * separadores, que tambi�n ser�n incluidos en el vector devuelto.
	 * 
	 * @param str La cadena que contiene los elementos.
	 * @param delim El separador de elementos.
	 * @return La lista de elementos.
	 */
	public static List<String> separaElementosDelimitadores(String str, String delim) {
		List<String> v = new ArrayList<String>();
		StringTokenizer st = new StringTokenizer(str, delim, true);
		
		while(st.hasMoreTokens()) {
			v.add(st.nextToken());
		}

		return v;
	}
}
